home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************/
- /* HEADER FILE FOR DATABOSS MODULE: DB_WIN */
- /****************************************************************************/
-
- /******************************* CONSTANTS ********************************/
-
- typedef byte const attrtable[256];
- typedef attrtable *attrtaptr;
-
- extern attrtable MonoTable; /* =
- {0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x08,0x07,0x07,0x07,0x07,0x07,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x07,0x08,0x07,0x07,0x07,0x07,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x07,0x07,0x08,0x07,0x07,0x07,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x07,0x07,0x07,0x08,0x07,0x07,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x07,0x07,0x07,0x07,0x08,0x07,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x07,0x07,0x07,0x07,0x07,0x08,0x07,
- 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,
- 0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x77,
- 0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,
- 0x88,0x87,0x87,0x87,0x87,0x87,0x87,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0x88,0x87,0x87,0x87,0x87,0x87,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0x87,0x88,0x87,0x87,0x87,0x87,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0x87,0x87,0x88,0x87,0x87,0x87,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0x87,0x87,0x87,0x88,0x87,0x87,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0x87,0x87,0x87,0x87,0x88,0x87,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0x87,0x87,0x87,0x87,0x87,0x88,0x87,
- 0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,0x8F,
- 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF7,
- 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0}; */
- extern attrtable ColorTable; /* =
- {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
- 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
- 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
- 0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,
- 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,
- 0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,
- 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
- 0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,
- 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
- 0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,
- 0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,
- 0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,
- 0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,
- 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
- 0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
- 0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
- 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
- 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
- 0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,
- 0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,
- 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,
- 0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,
- 0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
- 0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,
- 0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,
- 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,
- 0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,
- 0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
- 0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}; */
-
- #define T_ON True
- #define T_OFF False
- #define WinHdrSz 60
- #define WinHdrSz1 19
- #define MaxWins 255
- #define _Up_ 0
- #define _Down_ 1
- #define _Left_ 2
- #define _Right_ 3
- #define readBufSize 2048
-
- /********************************* TYPES **********************************/
-
-
- typedef byte readBuffer[readBufSize];
-
- typedef struct {
- byte x;
- byte y;
- byte m;
- } funcpos;
-
- typedef struct {
- uchar vchar;
- byte vattr;
- } vidchar;
-
- typedef vidchar largeblk[8000];
- typedef largeblk *largebptr;
- typedef uchar titlestr[41];
-
- typedef enum {TopLft,TopCnt,TopRgt,BotLft,BotCnt,BotRgt,
- LftTop,LftCnt,LftBot,RgtTop,RgtCnt,RgtBot} justified;
-
- typedef uchar border[8];
- typedef struct txtblk {
- byte a;
- byte x;
- byte y;
- strptr tstrn;
- struct txtblk *nxttxt;
- } txtblk, *txtblkptr;
-
- typedef struct wintyp {
- byte wno; /* Reference for user recognition */
- int mx; /* Offset position w.r.t screen */
- int my;
- byte mwid; /* Dimensions for the viewable Window Region */
- byte mhgt;
- byte wincolr; /* Window Base Color */
- byte borcolr; /* Border Color/Attribute */
- byte shadow; /* 0-NO Shadow otherwise shadow attribute */
- border borchrs; /* The four sides and corners of the border */
- byte titlejus; /* Title Justification */
- titlestr title; /* Title String */
- int x; /* Variable display slide top left posn */
- int y;
- byte wid; /* Variable display slide dimensions */
- byte hgt;
- word wsize; /* No. of bytes needed to store the window */
- ptr origptr; /* Pointer to memory for window block */
- ptr winblk; /* Window Pointer forced to Seg boundry */
- cursortyp curs; /* Save a cursor for each window */
- bool disp; /* Is the window displayed or hidden */
- struct wintyp *nxtwin; /* Next window in window chain */
- struct wintyp *prvwin; /* Previous window in window chain */
- } wintyp, *winptr;
-
- typedef winptr winarray[MaxWins+1]; /* zeroth element not used */
-
- typedef struct {
- pathstr wfnam;
- winarray wa;
- uchar bfchar;
- byte bfcolr;
- byte scrmode;
- winptr bgw;
- word savattr;
- } winfrec;
-
- typedef struct buffering {
- signed int bufPos;
- signed int bufEnd;
- readBuffer dBuf;
- int ioRes;
- }buffering;
-
- /************************* INITIALIZED VARIABLES **************************/
-
- extern byte vert; /* = 0; */
- extern byte horz; /* = 1; */
- extern bool lcd; /* = False; */
- extern bool goodwrite; /* = True; */
- extern bool posncurs; /* = False; */
- extern bool bg_on; /* = True; */
- extern uchar backfillch; /* = ' '; */
-
- /******************************* VARIABLES ********************************/
-
- extern bool dispbg;
- extern bool _wondisk;
- extern funcpos mpath;
- extern funcpos mdate;
- extern funcpos mtime;
- extern funcpos mksta;
- extern attrtaptr cmono;
- extern wintyp winscr;
- extern winptr msgwin;
- extern winptr firwin;
- extern winptr curwin;
- extern ptr actvid;
- extern ptr savvid;
- extern byte origm;
- extern byte origc;
- extern byte scrwid;
- extern byte scrhgt;
- extern byte sunposn;
- extern byte checksnow;
- extern buffering bufInfo;
-
- /******************************* PROTOTYPES *******************************/
-
- bool bufEof(int fileHandle); /* SN 3.5 */
- long bufFilePos(int fileHandle); /* SN 3.5 */
- void bufBlockRead(int fileHandle, readBuffer destination, word length); /* SN 3.5 */
- void dispw(byte x, byte y, byte w, byte h, byte _w, ptr vram, ptr winb);
- void initblk(word len, uchar ch, byte color, ptr winb);
- void restline(byte x, byte y, byte len, byte orien, ptr actv, ptr savv);
- void displine(byte x, byte y, byte colr, byte orien, byte w, word di, ptr winb, ptr str);
- void dispattr(byte x, byte y, byte colr, byte orien, byte w, word di, ptr winb, byte n);
- byte eslen(string instr);
- byte revattr(byte attr);
- bool overlap(winptr w1, winptr w2);
- void clip(byte *tx, byte *ty, byte *tw, byte *th, winptr winp);
- void get4sides(winptr winp, string tl, string bl, string rl, string ll);
- void dispwin(ptr vram, winptr winp);
- void dispwindow(winptr winp);
- void clrwin(winptr winp);
- void dispallwin(void);
- void selectwin(winptr winp);
- void inscroll(byte dirn, winptr winp);
- void scrollwin(byte dirn, winptr winp);
- void movewin(int tx, int ty, winptr winp);
- void hidewin(bool mode, winptr winp);
- void resizewin(int tx, int ty, int tw, int th, winptr winp);
- void togglemode(void);
- void writewxy(string wstr, byte wa, byte wx, byte wy, winptr winp);
- void attrwritewxy(byte len, byte wa, byte wx, byte wy, winptr winp);
- void getline(byte tx, byte ty, byte tl, string tsc, string tsa, winptr winp);
- void putline(byte tx, byte ty, byte tl, string tsc, string tsa, winptr winp);
- void message(winptr w, string msg);
- void hilite(byte tx, byte ty, byte l, byte a, uchar c, winptr winp);
- void readwin(int f, winptr *winp);
- void readoverwin(int f);
- int initwin(winfrec *wfr);
- bool openwin(byte _wno,
- int _x, int _y, byte _wid, byte _hgt,
- byte _wincolr, byte _borcolr, byte _shadow, border _borchrs,
- justified _titlejus, string _title);
- void closewin(winptr *winp);
- void closeallwin(void);
- void disposewf(winfrec *wfr);
- void readintwin(pathstr wfnam, int start, int num, void *internalwins);
- void writewin(int f, winptr winp);
- void clrback(void);
- void clrscrandback(void);
- void colorwin(byte tcolr, winptr winp);
- byte pickwin(int thiswin, winfrec *w);
-
- void db_win_init(void);
-
- /***************************** END OF DB_WIN.H ****************************/
-